package com.hyundaihds.hdscontacts;

import android.app.*;
import android.content.*;
import android.database.*;
import android.database.sqlite.*;
import android.net.*;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;

public class List1 extends Activity implements OnItemClickListener {
	/** Called when the activity is first created. */

	// 직원정보
	String d_name = "";
	String d_iaid = "";
	String d_pos_nm = "";
	String d_team_nm = "";
	String d_phone1 = "";
	String d_phone2 = "";
	String d_etc = "";
	int d_floor_num = 0;
	

	// cursor 로 쿼리 검색한 결과 횟수
	int count = 0;

	//ProductDBHelper mHelper;
	Cursor cursor;
	SQLiteDatabase db;
	ProductDBHelper mHelper;
	String nm = "";

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.data_productlist);

		// DB와 연결
		//mHelper = new ProductDBHelper(this);
		//db = mHelper.getWritableDatabase();
		db = openOrCreateDatabase("HDSDB.db", MODE_APPEND, null);
		

		
		nm = getIntent().getStringExtra("team_nm");
		
		
		cursor = db.rawQuery("SELECT * FROM HDS WHERE TEAM_NM = '"+nm+"'", null);
		
		startManagingCursor(cursor);

		// DB 조회 결과를 화면에 ListView 형식으로 보여주기
		SimpleCursorAdapter Adapter = null;
		Adapter = new SimpleCursorAdapter(this, R.layout.list1_row, cursor,
				new String[] { "NAME", "POS_NM" }, new int[] { R.id.hds_name,
						R.id.hds_pos });

		ListView list = (ListView) findViewById(R.id.data_list);

		// ListView 클릭 이벤트 달아주기
		list.setOnItemClickListener(this);
		list.setAdapter(Adapter);

	}

	public void onItemClick(AdapterView<?> arg0, View v, int position, long arg3) {
		// TODO Auto-generated method stub

		// 클릭시 마다 SELECT 조회를 실행하여 클릭한 곳의 position과 비교
		int count = 0;
		//cursor = db.rawQuery("SELECT * FROM HDS", null);
		cursor = db.rawQuery("SELECT * FROM HDS WHERE TEAM_NM = '"+nm+"'", null);
		
		startManagingCursor(cursor);
		
	
		while (cursor.moveToNext()) {

			if (count == position) {
				d_name = cursor.getString(2);
				d_iaid = cursor.getString(1);
				d_pos_nm = cursor.getString(5);
				d_team_nm = cursor.getString(4);
				d_phone1 = cursor.getString(6);
				d_phone2 = cursor.getString(7);
				d_floor_num = cursor.getInt(9);
				d_etc = cursor.getString(10);
				
				//Toast.makeText(this, d_etc, Toast.LENGTH_SHORT).show();
				
				

				// ListView 클릭시 다이얼로그 이벤트 발생
				showDialog(count);
				// Toast.makeText(this, cursor.getString(2),
				// Toast.LENGTH_SHORT).show();
				break;
			}
			count++;
		}

		count = 0;

	}

	@Override
	protected Dialog onCreateDialog(int id) {
		// TODO Auto-generated method stub

		super.onCreateDialog(id);
		
		//Toast.makeText(this, d_etc, Toast.LENGTH_SHORT).show();
		
		

		AlertDialog dlg;

		LayoutInflater layout2 = getLayoutInflater();
		View v2 = layout2.inflate(R.layout.alert_custom_view, null);

		// 다이얼로그 창 내의 TextView
		TextView dltx1 = (TextView) v2.findViewById(R.id.dltxt1);
		TextView dltx2 = (TextView) v2.findViewById(R.id.dltxt2);

		dltx1.setText(d_iaid + "/" + d_team_nm + "/" + d_floor_num + "층");
		dltx2.setText(d_phone1 + "/" + d_phone2);

		// 다이얼로그 창 내의 ImageButton
		ImageButton callBt = (ImageButton) v2.findViewById(R.id.callBt);
		ImageButton txtBt = (ImageButton) v2.findViewById(R.id.txttBt);
		ImageButton seatBt = (ImageButton) v2.findViewById(R.id.seatBt);

		// 전화걸기
		callBt.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub
				Uri number = Uri.parse("tel:" + d_phone2);
				Intent dial = new Intent(Intent.ACTION_DIAL, number);
				dial.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
				startActivity(dial);

			}
		});

		// 문자보내기
		txtBt.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				// TODO Auto-generated method stub
				/*
				 * Intent i = new Intent(Intent.ACTION_SEND);
				 * i.addCategory(Intent.CATEGORY_DEFAULT);
				 * i.setType("text/plain"); i.putExtra(Intent.EXTRA_SUBJECT,
				 * "EXTRA_SUBJECT"); startActivity(Intent.createChooser(i,
				 * "How do you want to send message?"));
				 */

				Intent i = new Intent(List1.this, SmsSender.class);
				startActivity(i);

			}
		});

		// 조직도 보기
		seatBt.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {

				Intent i = new Intent(List1.this, SeatView.class);
				
				
				// 층정보 있으니까 DB에서 끌어오면 되고
				i.putExtra("floor", 19);	//층 정보
				// 섹터도 저장해야 한다. DB로 넣거나 array 에는 섹터에 해당되는 좌표
				i.putExtra("sector", Integer.parseInt(d_etc) );	//구역 정보
				startActivity(i);

			}
		});

		dlg = new AlertDialog.Builder(this).setIcon(R.drawable.icon) // icon 지정
																		// 후
																		// Builder
																		// 객체 리턴
				.setTitle(d_name + " " + d_pos_nm) // title 지정
				// .setMessage(str) // 메시지 text 지정

				// AlertDialog의 버튼 생성 & 버튼 클릭 이밴트에 대한 Listener 객체 생성/등록

				// Cancle 버튼 생성
				.setNegativeButton("Cancle",
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog,
									int which) {

							}
						}).setView(v2).show();
		// 결과로 AlertView return (dlg에 return결과 대입)

		return dlg;
	}

	public void onClick(View v) {
		// TODO Auto-generated method stub

	}

}